package com.yanfan.zutai.service.impl;

import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.IdUtil;
import com.yanfan.zutai.domain.BDeviceDrive;
import com.yanfan.zutai.mapper.BDeviceDriveMapper;
import com.yanfan.zutai.service.IBDeviceDriveService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 设备驱动管理Service业务层处理
 *
 * @author ruoyi
 * @date 2023-06-10
 */
@Service
public class BDeviceDriveServiceImpl implements IBDeviceDriveService {
    @Autowired
    private BDeviceDriveMapper bDeviceDriveMapper;

    /**
     * 查询设备驱动管理
     *
     * @param id 设备驱动管理主键
     * @return 设备驱动管理
     */
    @Override
    public BDeviceDrive selectBDeviceDriveById(Long id) {
        return bDeviceDriveMapper.selectBDeviceDriveById(id);
    }

    /**
     * 查询设备驱动管理列表
     *
     * @param bDeviceDrive 设备驱动管理
     * @return 设备驱动管理
     */
    @Override
    public List<BDeviceDrive> selectBDeviceDriveList(BDeviceDrive bDeviceDrive) {
        return bDeviceDriveMapper.selectBDeviceDriveList(bDeviceDrive);
    }

    /**
     * 新增设备驱动管理
     *
     * @param bDeviceDrive 设备驱动管理
     * @return 结果
     */
    @Override
    public int insertBDeviceDrive(BDeviceDrive bDeviceDrive) {
        Snowflake snowflake = IdUtil.getSnowflake(6, 2);
        long id = snowflake.nextId();
        bDeviceDrive.setId(id);
        return bDeviceDriveMapper.insertBDeviceDrive(bDeviceDrive);
    }

    /**
     * 修改设备驱动管理
     *
     * @param bDeviceDrive 设备驱动管理
     * @return 结果
     */
    @Override
    public int updateBDeviceDrive(BDeviceDrive bDeviceDrive) {
        return bDeviceDriveMapper.updateBDeviceDrive(bDeviceDrive);
    }

    /**
     * 批量删除设备驱动管理
     *
     * @param ids 需要删除的设备驱动管理主键
     * @return 结果
     */
    @Override
    public int deleteBDeviceDriveByIds(Long[] ids) {
        return bDeviceDriveMapper.deleteBDeviceDriveByIds(ids);
    }

    /**
     * 删除设备驱动管理信息
     *
     * @param id 设备驱动管理主键
     * @return 结果
     */
    @Override
    public int deleteBDeviceDriveById(Long id) {
        return bDeviceDriveMapper.deleteBDeviceDriveById(id);
    }
}
